//
//  RequestApi+Auth.h
//  MexicoLoan
//
//  Created by wxp on 2025/2/27.
//

#import "RequestApi.h"

NS_ASSUME_NONNULL_BEGIN

@interface RequestApi (Auth)

#pragma mark - 检查用户是否可以做某项授权
+ (void)requestCheckUserCanAuthWithType:(NSString *)authType
                               phone:(NSString *)phone
                                  delegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                             failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 获取活体渠道接口-新
+ (void)requestNewAuthLivenConfigWithPhone:(NSString *)phone
                                  delegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                   failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 获取下一步该填写信息的step
+ (void)requestGetNextStepNewWithDelegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                  failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 获取所有步骤的奖励金钱
+ (void)requestAwardAmountWithDelegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                               failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 保存用户信息
+ (void)requestSaveUserInfoWithData:(NSDictionary *)data
                               step:(NSString *)step
                           delegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                            failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 保存用户信息 - 银行卡认证
+ (void)requestSaveUserInfoAuthBankCardWithData:(NSDictionary *)data
                                      step:(NSString *)step
                                  delegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                        failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 上传身份证正面并OCR
+ (void)requestOSSUploadPositiveWithImage:(UIImage *)image
                          ocrPhotoChannel:(NSInteger)ocrPhotoChannel
                                  delegate:(id <RequestDelegate> _Nullable)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                  failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - SDK活体预处理接口
+ (void)requestPreLivenessWithLivenessId:(NSString *)livenessId
                                  delegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                 failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 活体照片识别
+ (void)requestAuthLiveWithImage:(UIImage *)image
                                phone:(NSString *)phone
                     livenChannelEnum:(NSString *)livenChannelEnum
                         liveTypeEnum:(NSString *)liveTypeEnum
                                  delegate:(id <RequestDelegate> _Nullable)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                              failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 切换活体渠道接口
+ (void)requestChangeLiveChanelWithPhone:(NSString *)phone
                                delegate:(id <RequestDelegate>)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                 failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 获取cloudun sdk授权信息
+ (void)requestCloudunSdkAuthInfoWithDelegate:(id <RequestDelegate> _Nullable)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                      failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 是否显示自动首借弹窗
+ (void)requestShowAutoFirstLoanPopWindowWithDelegate:(id <RequestDelegate> _Nullable)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                              failure:(void (^)(NSString * errorStr, id mark))failure;

#pragma mark - 检查修改银行卡活体
+ (void)requestCheckModifyBankCardLiveWithLivenChannelEnum:(NSString *)livenChannelEnum
                                                livenessId:(NSString *)livenessId
                                               livenessImg:(NSString *)livenessImg
                              delegate:(id <RequestDelegate> _Nullable)delegate
                            success:(void (^)(NSDictionary * response, id mark))success
                                                   failure:(void (^)(NSString * errorStr, id mark))failure;



@end

NS_ASSUME_NONNULL_END
